﻿layui.use(['table', 'form', 'jquery', 'layer'], function () {
    var table = layui.table;
    var form = layui.form;
    var $ = layui.jquery;
    var layer = layui.layer;

    $('#addRowBtn').on('click', function () {
        // 获取数据表格和行数
        const table = document.getElementById('dataTable');
        const numRows = table.rows.length;

        // 如果行数超过5，则禁止添加新行
        if (numRows > 1) {
            layer.msg('已达到最大行数限制，不能再添加新行！');
            return;
        }

        var rowCount = $('#dataTable tbody tr').length + 1; // 获取当前行数并加1作为新行的序号

        var newRowHtml = '<tr>' +
            '<td>' + rowCount + '</td>' + // 新增自增序号列
            `<td>
				<div class="select-wrapper">
					<select name="motherEarHorn" id="motherEarHorn" lay-filter="motherEarHorn" lay-verify="required" lay-search="">
						<option value="">耳号</option>
					</select>
				</div>
            </td>` +
            '<td><input type="date" name="dateOfBreeding" id="dateOfBreeding"></td>' +
            `<td>
            <div class="select-wrapper">
                <select name="breedEarHorn" id="breedEarHorn" lay-filter="breedEarHorn" lay-verify="required" lay-search="">
                    <option value="">耳号</option>
                </select>
			</div>
             </td >` +
            '<td><input type="date" name="pregnancyTestDate"></td>' +
            `<td>
            <div class="select-wrapper">
                <select name="pregnancyTestResult" id="pregnancyTestResult" lay-filter="pregnancyTestResult" lay-verify="required" lay-search="">
                    <option value="">妊检结果</option>
                </select>
			</div>
            </td >` +
            '<td><input type="date" name="deliveryDate"></td>' +
            '<td><input type="text" name="healthyNumber" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="healthyTotalWeight" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="weakLambNumber" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="deformityNumber" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="numberOfStillbirths" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="mummyNumber" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="numberOfFreaks" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="currentParity" lay-verify="required" id="currentParity" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="date" name="weaningDate"></td>' +
            '<td><input type="text" name="weaningNumber" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            '<td><input type="text" name="weaningLitterWeight" lay-verify="required" autocomplete="off" class="layui-input" style="width:100px"></td>' +
            // Add more columns as needed
            '<td style="width:300px"><button class="layui-btn layui-btn-xs" onclick="saveRow(this)">保存</button><br /><br /><button class="layui-btn layui-btn-xs layui-btn-danger" onclick="deleteRow(this)">删除</button></td>' +
            '</tr>';
        $('#dataTable tbody').append(newRowHtml);

        form.render(); // 重新渲染表单，使新增的输入框生效

        //绑定耳号
        $(document).ready(function () {
            $.ajax({
                url: 'http://10.31.60.18:8000/ArchivesGetRout/api/Archives/ArchivesAllInfo',
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    var enumData = res; // 直接使用返回的数据
                    var select = $('#motherEarHorn');
                    $.each(enumData, function (index, item) {
                        if (item.sheepType == "种母") {
                            // 使用正确的字段添加选项到下拉框中
                            var option = $('<option>').val(item.earNnumber).text(item.earNnumber);
                            select.append(option);
                        }
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });

        //绑定种公耳号
        $(document).ready(function () {
            $.ajax({
                url: 'http://10.31.60.18:8000/ArchivesGetRout/api/Archives/ArchivesAllInfo',
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    var enumData = res; // 直接使用返回的数据
                    var select = $('#breedEarHorn');
                    $.each(enumData, function (index, item) {
                        if (item.sheepType == "种公") {
                            // 使用正确的字段添加选项到下拉框中
                            var option = $('<option>').val(item.earNnumber).text(item.earNnumber);
                            select.append(option);
                        }
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });

        //绑定妊检结果
        $(document).ready(function () {
            $.ajax({
                url: 'http://10.31.60.18:8000/ProduceGetRout/api/PregnancyPregnancyTestRead/GetPregnancyTestResult',
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    var enumData = res; // 直接使用返回的数据
                    var select = $('#pregnancyTestResult');
                    $.each(enumData, function (index, item) {
                        // 使用正确的字段添加选项到下拉框中
                        var option = $('<option>').val(item.name).text(item.name);
                        select.append(option);
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });

        updateTableScroll(); // Update table scrolling after adding new row
    });

    function updateTableScroll() {
        // Adjust table scroll after adding new rows
        var tableContainer = $('#dataTable').parent();
        tableContainer.css('overflow-x', 'auto'); // Enable horizontal scrolling
        tableContainer.css('max-width', '100%'); // Ensure table does not exceed parent width
    }
});

var $ = layui.jquery;

// 删除行的函数
function deleteRow(btn) {
    $(btn).closest('tr').remove();
}

function saveRow(btn) {
    var inputValues = {}; // 创建一个空对象来存储输入字段的值
    $(btn).closest('tr').find('input[type="text"], input[type="date"],select').each(function () {
        var fieldName = $(this).attr('name'); // 获取输入字段的名称作为键
        var fieldValue = $(this).val(); // 获取输入字段的值
        // 如果字段值为空，则设置为默认值，或者根据需要进行其他处理
        if (fieldValue === '') {
            // 设置默认值或者执行其他操作
            fieldValue = null;
        }
        inputValues[fieldName] = fieldValue; // 将字段名和字段值存储在对象中
    });

    // 获取单个字段的输入框元素
    const motherEarHorn = document.getElementById('motherEarHorn');

    if (motherEarHorn.value.trim() === '') {
        layer.msg('种母耳号不能为空！');
        return;
    }

    // 获取单个字段的输入框元素
    const dateOfBreeding = document.getElementById('dateOfBreeding');

    if (dateOfBreeding.value.trim() === '') {
        layer.msg('配种日期不能为空！');
        return;
    }

    // 获取单个字段的输入框元素
    const currentParity = document.getElementById('currentParity');

    if (currentParity.value.trim() === '') {
        layer.msg('当前胎次不能为空！');
        return;
    }

    // 现在，inputValues 对象包含了每个输入字段的名称和对应的值
    console.log(inputValues);

    // 在这里您可以执行其他操作，例如发送到服务器端进行处理
    $.ajax({
        type: 'POST',
        url: 'http://10.31.60.18:8000/ProduceSetRout/api/GermlineHistoryRecords/AddGermlineHistoryRecords', // 根据实际情况修改ControllerName和ActionName
        //url: 'http://localhost:5051/api/GermlineHistoryRecords/AddGermlineHistoryRecords', // 根据实际情况修改ControllerName和ActionName
        data: JSON.stringify(inputValues),
        contentType: "application/json",
        success: function (response) {
            if (response.code == 200) {
                layer.msg('添加成功', { icon: 1 }, function () {
                    location.href = '/GermlineHistoryRecordsRead/GermlineShow'
                });
            } else {
                layer.alert('添加失败', {
                    icon: 1,
                    shadeClose: true,
                })
            }
        },
        error: function (xhr, status, error) {
            // 处理错误响应
            console.error(error);
        }
    });
}